package com.test.demo;

import java.util.Scanner;

public class MovieOpeator {
    private Movie[] movies;//存放电影对象的数组
    //private int count;//理解 int就是个类型，所以Movie[]也是个类型

    //定义一个有参数构造器
    public MovieOpeator(Movie[] movies) {
        this.movies = movies;//将传入的电影数组赋值给当前类的movies属性
    }

    //功能1.打印所有电影信息
    public void printAllMovies() {
        System.out.println("电影编号\t电影名称\t电影价格\t导演");
        for (int i = 0; i < movies.length; i++) {
            //i = 0,1,2,3,4,5
            Movie m = movies[i];
            System.out.println(m.getId() + "\t" + m.getName() + "\t" + m.getPrice() + "\t" + m.getDirector());
        }
    }

    //功能2.根据电影编号查找电影
    public void searchMovieById() {
        System.out.println("请输入要查找的电影编号：");
        Scanner sc = new Scanner(System.in);
        int id = sc.nextInt();
        //遍历数组，查找编号为id的电影
        for (int i = 0; i < movies.length; i++) {
            //拿到当前遍历到的电影对象
            Movie m = movies[i];
            //判断当前电影对象的编号是否和id相等
            if (m.getId() == id) {
                System.out.println(m.getId() + "\t" + m.getName() + "\t" + m.getPrice() + "\t" + m.getDirector());
                return;
            }
        }
        System.out.println("没有找到编号为" + id + "的电影");
    }

    //功能3.根据电影名称查找电影
    public void searchMovieByName() {
        System.out.println("请输入要查找的电影名称：");
        Scanner sc = new Scanner(System.in);
        String name = sc.next();
        //遍历数组，查找名称为name的电影
        for (int i = 0; i < movies.length; i++) {
            //拿到当前遍历到的电影对象
            Movie m = movies[i];
            //判断当前电影对象的名称是否和name相等
            if (m.getName().equals(name)) {
                System.out.println(m.getId() + "\t" + m.getName() + "\t" + m.getPrice() + "\t" + m.getDirector());
                return;
            }
        }
        System.out.println("没有找到名称为" + name + "的电影");
    }
}
